package com.livew.framework.utils;

import java.math.BigDecimal;


/**
 * 单位转换工具类
 * 
 * @author 
 * @date 2016年2月23日 上午9:27:23 
 * @version 1.0
 */
public class XTUnitUtils {
	
	/**
	 * byte转换为MB后返回
	 * 
	 * @param bytes
	 * @return
	 */
	public static double byte2mb(long bytes) {
		BigDecimal size = new BigDecimal(bytes);
		BigDecimal megabyte = new BigDecimal(1024 * 1024);//MB
		return size.divide(megabyte, 2, BigDecimal.ROUND_UP).doubleValue();
	}
	
	/**
	 * 将byte转换成KB后返回
	 * @param bytes
	 * @return
	 */
	public static double byte2kb(long bytes){
		BigDecimal size = new BigDecimal(bytes);
		BigDecimal kilobyte = new BigDecimal(1024);//KB
		return size.divide(kilobyte, 2, BigDecimal.ROUND_UP).doubleValue();
	}
	
	/**
	 * 将byte转换成kb或者mb</br>
	 * 返回数组长度为2，第一个元素为转换后的大小，第二个为转换后的单位，如果小于1Mb，那么显示单位为KB，否则为MB
	 * 
	 * @param bytes
	 * @return
	 */
	public static String[] byte2kbmb(long bytes){
		long mbBytes = 1024*1024;//MB对应的bytes大小
		String unit = EUnit.KB.toString();//默认单位为KB
		double size = 0;
		if(bytes>mbBytes){//单位为MB
			unit = EUnit.MB.toString();
			size = byte2mb(bytes);
		}else{
			size = byte2kb(bytes);
		}
		return new String[]{size+"",unit};
	}

}
